#ifndef SRC_MD5_H
#define SRC_MD5_H

#include "lt_types.h"

typedef struct {
    lt_uint64_t  bytes;
    lt_uint32_t  a, b, c, d;
    lt_u_char    buffer[64];
} lt_md5_t;

void lt_md5_init(lt_md5_t *ctx);
void lt_md5_update(lt_md5_t *ctx, const void *data, size_t size);
void lt_md5_final(lt_u_char result[16], lt_md5_t *ctx);
int lt_md5_cal(char *filename, lt_u_char result[16]);
int md5_cal(int argc, char **args);

#endif